package com.herr.mix;

import com.herr.xml.UserDao;
import com.herr.xml.UserService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class JavaConfig {

    // 任何标志了@Bean的方法，其返回值将作为一个bean注册到Spring的IOC容器中
    // 方法名默认成为该bean定义的id，即userDao2
    @Bean
    public UserDao userDao2(){
        return new UserDao();
    }

    // 如果一个bean依赖另一个bean，则直接调用对应JavaConfig类中依赖bean的创建方法即可
    // 1、参数写法，方便跨java类使用
    @Bean
    public UserService userService(UserDao userDao){
        UserService userService=new UserService();
        userService.setUserDao(userDao);
        return userService;
    }

    @Bean
    public UserService userService2(){
        UserService userService=new UserService();
        //2、直接调用userDao2()
        userService.setUserDao(userDao2());
        return userService;
    }
}
